Skip to content

feat(tech-spec): revise 2026-06 devexp per review comments + ideal user flow#1920

Draft
anthonyiscoding wants to merge 1 commit into
feat/tech-spec/2026-06-devexfrom
feat/tech-spec/2026-06-devex-review-revisions
Draft

feat(tech-spec): revise 2026-06 devexp per review comments + ideal user flow#1920
anthonyiscoding wants to merge 1 commit into
feat/tech-spec/2026-06-devexfrom
feat/tech-spec/2026-06-devex-review-revisions

Conversation

@anthonyiscoding

Copy link
Copy Markdown
Contributor

Revises the 2026-06 devexp tech spec to match the spec-owner review (comments on the deployed spec + the Ideal User Flow Excalidraw + four clarifying answers). These reverse several load-bearing decisions, so the change touches all spec files plus the index.

Four reversals applied across the spec

  1. Config back in files. A worker ships its own defaults.yaml; worker-compose.<target>.yaml carries per-worker config: overrides (effective = defaults.yaml ◁ compose base ◁ target). The configuration worker is now optional and acts as a read/update layer over the active compose file (never edits defaults.yaml, errors when no compose file is found). iii runs with zero workers, including no configuration worker. (Reverses "no config in any file / mandatory store.")
  2. Multi-host hub. The engine manages nothing and reports availability via a new worker_available trigger; depends_on (including on remote workers) gates by subscribing to it. iii-process-daemon is the local runner's supervisor (one option beside docker/systemd/bash), not the universal owner of every PID. Cross-host lifecycle management is not a v1 promise; fleet-scale stays iii Cloud. (Reverses "daemon parents every PID / multi-host out of scope.")
  3. CLI surface. iii worker compose … is canonical; iii --compose is the tutorial one-liner (engine + compose up); the top-level iii up/iii down/iii ps/iii logs aliases are dropped. Adds iii trigger --timeout <secs|Inf>, console-as-worker (trigger::console), sandbox-via-trigger, and the iii worker --help/array-args/always-reinstall/--address fixes.
  4. Onboarding journey added to lifecycle-and-onboarding.md: interactive "Welcome to iii!" tutorial, email capture → Mailmodo sequence, PostHog activation tracking, CI-verifiable tutorials.

Smaller corrections folded in

  • depends_on name:/id: forms + trigger-gated, targeted (math→state, caller→http) readiness.
  • iii.lock is local to each worker-compose.yaml (one lock per compose file).
  • Retry with capped exponential backoff; timeouts may be set to Inf.
  • Per-target sections (targets: and/or worker-compose.<target>.yaml).
  • worker-compose.ymlworker-compose.yaml throughout.
  • Adds the source Ideal User Flow.excalidraw.

Open points flagged for review

  • defaults.yaml is introduced as a separate per-worker file from iii.worker.yaml (config defaults vs start/runtime manifest). If they should be merged, that's a follow-up.
  • Targets are supported two ways (in-file targets: and separate worker-compose.<target>.yaml); narrow to one if preferred.
  • Worker id kept as configuration, with config-worker:<id> as the addressing scheme/alias (the Excalidraw writes depends_on: - config-worker).
  • Legacy em-dashes in untouched prose were left as-is (a full strip would be a noise-only diff); can be done as a separate pass.

🤖 Generated with Claude Code

…er flow

Reverses four load-bearing decisions from the spec-owner review (deployed-spec comments + the Ideal User Flow diagram):

- Config back in files: a worker ships defaults.yaml; worker-compose.<target>.yaml carries per-worker config: overrides; the configuration worker is OPTIONAL and reads/updates the active compose file (never defaults.yaml, errors if none). iii runs with zero workers.
- Multi-host hub: the engine manages nothing and reports availability via a worker_available trigger; depends_on (incl. remote) gates by subscribing to it; iii-process-daemon is the local runner's supervisor (one option beside docker/systemd/bash), not the universal PID owner.
- CLI: iii worker compose ... is canonical, iii --compose is the tutorial one-liner; top-level iii up/down/ps/logs dropped; iii trigger --timeout, console-as-worker (trigger::console), sandbox-via-trigger, worker --help/array-args/always-reinstall/--address fixes.
- Onboarding journey added: interactive Welcome tutorial, email capture to Mailmodo, PostHog activation tracking, CI-verifiable tutorials.

Also: depends_on name:/id: forms + targeted gating, per-compose iii.lock, retry/backoff + Inf timeouts, per-target sections, worker-compose.yml -> .yaml. Adds Ideal User Flow.excalidraw.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 5f06b7cf-d9dc-4198-94b3-0710d7e3d47f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/tech-spec/2026-06-devex-review-revisions

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@vercel

vercel Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
iii-website Ready Ready Preview, Comment Jun 29, 2026 7:22pm
tech-spec Ready Ready Preview, Comment Jun 29, 2026 7:22pm

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant